"""配置文件"""
import logging
import redis


class Config(object):
    """配置"""

    SECRET_KEY = 'lfj;aoiyeng;ahdfoayebg;adfyuaehfexit'

    # mysql数据库配置
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/information"
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True  # 修改数据库后自动提交,手动提价也不报错

    # redis数据库配置
    REDIS_IP = '127.0.0.1'
    REDIS_PORT = 6379

    # session保存位置配置
    SESSION_TYPE = "redis"  # 指定 session 保存到 redis 中
    SESSION_USE_SIGNER = True  # 让 cookie 中的 session_id 被加密签名处理
    SESSION_REDIS = redis.StrictRedis(host=REDIS_IP, port=REDIS_PORT)  # 使用 redis 数据库
    PERMANENT_SESSION_LIFETIME = 86400 * 2  # session 的有效期，单位是秒

    # 设置日子等级
    LOG_LEVEL = logging.DEBUG


class DevelopementConfig(Config):
    """开发环境下配置"""

    DEBUG = True


class ProductionConfig(Config):
    """生产环境配置"""

    DEBUG = False
    LOG_LEVEL = logging.ERROR


class TextingConfig(Config):
    """测试环境配置"""

    DEBUG = True
    # 测试环境错误时 指出错误行数
    TEXTING = True


config = {
    'developementconfig': DevelopementConfig,
    'productionponfig': ProductionConfig,
    'textingconfig': TextingConfig
}